
class KrawDemo : public KrawApp
{
public:
    
    bool Open();
    void Close();
    void Tick( float, float );
    void Draw();

private:
    
}

bool KrawDemo::Open()
{
    //load sample geometry and shaders
    //setup shadow casting lights- directional, omnidirectional
    //load shadowdepth shader(s)- static, skinned, clipmapped
    //load shadowbuffer(s) for all lights
}

void KrawDemo::Close()
{
    //unload all models and shaders
    //unload all rendertargets
}

void KrawDemo::Tick( float fTime, float fElapsedTime )
{
    //compute light visibility, let change the number and type of lights
}

void KrawDemo::Draw()
{
    //render all shadowed shapes to shadowbuffer
    //render regular geometry with shader(s) using shadows-
}
